package com.gzdh.dishrecognition.util;

import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.SystemClock;

public class TimeChanger {

    public static final int MY_PERMISSIONS_REQUEST_SET_TIME = 1;

    public static void setSystemTime(Context context, long newTimeMillis) {
        // 检查应用是否有SET_TIME权限
        if (context.checkSelfPermission(Manifest.permission.SET_TIME) == PackageManager.PERMISSION_GRANTED) {
            // 如果有，直接设置时间
            SystemClock.setCurrentTimeMillis(newTimeMillis);
        } else {
            // 如果没有，请求权限
            requestPermissionToSetTime(context);
        }
    }

    private static void requestPermissionToSetTime(Context context) {
        // 请求SET_TIME权限
        requestPermissions(context, new String[]{Manifest.permission.SET_TIME});
    }

    // 这是一个请求权限的辅助方法，具体实现取决于你的Activity或Fragment
    private static void requestPermissions(Context context, String[] permissions) {
        if (context instanceof Activity) {
            ((Activity) context).requestPermissions(permissions, TimeChanger.MY_PERMISSIONS_REQUEST_SET_TIME);
        } else {
            // 处理Fragment的权限请求或者其他情况
        }
    }
}